iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0

我們來到最後一個主題啦~前面五個分類中,我們幾乎都會使用到 Linux 系統來解題,今天來整理些基本的指令

一、nc(Netcat)
Netcat 可以進行 TCP 或 UDP 的連接,並能夠用來測試網路連通性。在之前的解題中我們常常使用他來連上題目靶機。

  • 連立連接:
nc [主機名] [port]

二、grep
用來在檔案或輸入資料流中搜尋符合特定模式(通常是正規表達式)的字串。其名稱來自於 "global regular expression print" 的縮寫。對於在大量資料中搜索特定字串的工具,能快速地找到符合條件的行數或關鍵字。

  • 常用命令與參數:
grep '想找的東西' [文件]
  • 忽略大小寫:
grep -i '想找的東西' [文件]
  • 顯示行號:
grep -n '想找的東西' [文件]

三、strings
用於從二進位檔案中提取可讀字串的工具。它能從可執行檔、二進位數據檔或任何其他檔案中提取出 ASCII 和 Unicode 字串。

  • 提取字串:
strings [檔案]

四、|(pipe)
將一個命令的輸出作為另一個命令的輸入的技術。可以串聯多個命令。能夠避免中間結果儲存到暫存檔案,減少不必要的 I/O 操作和硬碟空間佔用。

  • 單一管道:
command1 | command2

-> command1 的標準輸出(stdout)會通過 pipe 傳遞給 command2,並作為其標準輸入(stdin)。

  • 多個管道:
command1 | command2 | command3

接著進入今天的題目

Lab_1 - strings it

https://ithelp.ithome.com.tw/upload/images/20241007/20169462yPxki81KS8.png

題目提供一個檔名為 strings 的檔案,在 terminal 輸入 strings strings 後會發現印出的結果會塞爆版面。直接使用記事本等工具打開雖然也找的到 flag,不過我們有個更快速的方法,搭配 grep| 指令使用。

由於我們知道 flag 的格式會是 picoCTF{},輸入 strings strings | grep pico 可以將符合 pico 字串的那行印出來,就會拿到我們的 flag。

Lab_2 - plumbing

https://ithelp.ithome.com.tw/upload/images/20241007/20169462dr51yJiBLn.png

這題我們需要連到靶機,使用 nc jupiter.challenges.picoctf.org 7480 連線到題目。一連上去後會遇到跟上一題一樣噴一大堆不需要的字串。多到不會想去翻的,這時候一樣使用 | grep,將關鍵字過濾出來。

一樣在 terminal 上輸入 nc jupiter.challenges.picoctf.org 7480 | grep pico,如此一來 flag 就會送到我們的眼前啦。

今天的練習就到這邊,以下是參考資料,請搭配服用:

nc 指令
grep 指令 IBM
strings 指令 IBM
pipe 使用
正規表示法

內文如有錯誤,還請不吝指教~


上一篇
Day22 - [Forensics] 檔案分析與提取
下一篇
Day24 - [Skills] 萬用字元(Wildcard Characters)
系列文
新手村預備,CTF 小菜雞跌跌撞撞的旅程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言